package com.baselibrary.libs.Utils.db.DAO;

import android.content.Context;

import com.alibaba.fastjson.JSONObject;
import com.baselibrary.libs.Utils.db.Table;
import com.baselibrary.libs.Utils.log.LogUtils;
import com.baselibrary.libs.Utils.netUtils.NoHttp.queue.Request_netWork;
import com.baselibrary.libs.Utils.netUtils.NoHttp.queue.Request_netWork_error;
import com.baselibrary.libs.Utils.netUtils.NoHttp.queue.YolandaLinkedQueue;

/**
 * Created by Administrator 于萌萌
 * 创建日期: 14:35 . 2017年03月02日
 * 描述:
 * <p>
 * <p>
 * 备注:
 */

public class CacheDb<T> {
    Context context;
    public CacheDb(Context context) {
        this.context =context;
    }

    //获取缓存
    public void getDbCache(final Request_netWork request, final YolandaLinkedQueue<Request_netWork, Request_netWork_error, Integer, JSONObject> queue) {
        //如果不查询就直接 返回 空
        if (null==context || null==request.getClazz()){
            queue.onStart(request,null);
            return;
        }
        new MyDbDAO(context, request.getClazz()).find(Table.MyJson, request.getTag(),new dbCallBackHelper(){
            @Override
            public void getDataSuccess(JSONObject jsonObject) {
                //如果找到了
                LogUtils.i("缓存步骤"+"找到"+jsonObject);

                queue.onStart(request,jsonObject);
                return;
            }

            @Override
            public void getDataError(String error) {
                //如果没找到
                queue.onStart(request,null);
                return;
            }

        }) ;
    }

    //添加缓存
    public void addDbCache(final Request_netWork request, JSONObject jsonObject) {
        if (null==context || null==request.getClazz()){
            return;
        }
        new MyDbDAO(context, request.getClazz()).add_or_upData(Table.MyJson,request.getTag(),jsonObject);
    }

}
